import Vue from 'vue'
import VueRouter from 'vue-router'
// 引入页面 一级路由
import hmlogin from '@/views/HmLogin.vue'
import hmregisterx from '@/views/HmRegister.vue'
import hmlayout from '@/views/HmLayout.vue'

// 引入页面 二级路由
import hmindex from '@/views/HmIndex.vue'
import hmmy from '@/views/HmMy.vue'
import hmmess from '@/views/HmMess.vue'
import hmseek from '@/views/HmSeek.vue'

// 引入所需要的组件
// import { getToken } from '@/utils/storage'

Vue.use(VueRouter)
const router = new VueRouter({
  routes: [
    {
      path: '/HmLogin',
      component: hmlogin
    },
    {
      path: '/HmRegister',
      component: hmregisterx
    },
    {
      path: '/',
      component: hmlayout,
      redirect: '/HmIndex',
      children: [
        { path: '/HmIndex', component: hmindex },
        { path: '/HmSeek', component: hmseek },
        { path: '/HmMess', component: hmmess },
        { path: '/HmMy', component: hmmy }
      ]
    }
  ]
})

// 全局前置守卫：
// 1. 所有的路由一旦被匹配到，在真正渲染解析之前，都会先经过全局前置守卫
// 2. 只有全局前置守卫放行，才能看到真正的页面

// 任何路由，被解析访问前，都会先执行这个回调
// 1. from 你从哪里来， 从哪来的路由信息对象
// 2. to   你往哪里去， 到哪去的路由信息对象
// 3. next() 是否放行，如果next()调用，就是放行 => 放你去想去的页面
//    next(路径) 拦截到某个路径页面
// const whiteList = ['/HmLogin', '/HmRegister'] // 白名单列表，记录无需权限访问的所有页面
// router.beforeEach((to, from, next) => {
//   const token = getToken()
//   // if (token) {
//   //   next()
//   // } else {
//   //   if (whiteList.includes(to.path)) {
//   //     next()
//   //   } else {
//   //     next('/login')
//   //   }
//   // }
// })

export default router
